"""
添加示例课程数据
"""
from app.database import SessionLocal
from app.models import Course, User
import datetime

db = SessionLocal()

try:
    # 获取第一个用户作为创建者
    creator = db.query(User).first()
    if not creator:
        print("错误：数据库中没有用户，请先创建用户")
        exit(1)
    
    # 检查是否已有课程数据
    existing_courses = db.query(Course).count()
    if existing_courses > 0:
        print(f"数据库中已有 {existing_courses} 个课程")
        response = input("是否继续添加示例数据？(y/n): ")
        if response.lower() != 'y':
            print("取消添加")
            exit(0)
    
    # 创建示例课程
    courses = [
        Course(
            title="肖老师五十音图",
            desc="严肃的肖老师 毕业院校：明治大学MBA 教学特长：13年在日经历，日语N1",
            price=3990,  # 39.9元，单位为分
            book_num=2,
            cover="",
            creator_id=creator.id,
            created_at=datetime.datetime.now(),
            updated_at=datetime.datetime.now()
        ),
        Course(
            title="浅思留学日语小课堂-N4基础班",
            desc="肖老师：全网粉丝20w+，毕业于日本明治大学，有着自己独特的教学方法。毕业院校：明治大学MBA 教学特长：13年日语教学经验",
            price=29900,  # 299元，单位为分
            book_num=4,
            cover="",
            creator_id=creator.id,
            created_at=datetime.datetime.now(),
            updated_at=datetime.datetime.now()
        ),
        Course(
            title="日语N5入门课程",
            desc="零基础学日语，从五十音图开始，轻松掌握日语基础",
            price=19900,  # 199元
            book_num=10,
            cover="",
            creator_id=creator.id,
            created_at=datetime.datetime.now(),
            updated_at=datetime.datetime.now()
        ),
        Course(
            title="日语N3进阶课程",
            desc="适合有N4基础的学员，系统学习N3语法和词汇",
            price=39900,  # 399元
            book_num=8,
            cover="",
            creator_id=creator.id,
            created_at=datetime.datetime.now(),
            updated_at=datetime.datetime.now()
        )
    ]
    
    # 添加到数据库
    for course in courses:
        db.add(course)
    
    db.commit()
    print(f"成功添加 {len(courses)} 个示例课程！")
    
except Exception as e:
    print(f"添加课程失败：{e}")
    db.rollback()
finally:
    db.close()
